This invention relates to a computer, a method of connecting devices to data bus controllers, a method of allocating the bandwidth of a plurality of data bus controllers and apparatus therefor.
More particularly, but not exclusively, the invention relates to a method of and to apparatus for allocating bandwidth of serial data buses such as USB's (Universal Serial Buses) where a plurality of such buses are provided in a computer, for connection with a plurality of associated serial devices.
As with all data bus interfaces, USB bandwidth is limited, with the well-known USB 1.1 version having a theoretical maximum band width of 12 Mbits per second, with this bandwidth being shared by all the serial devices connected to the various ports which in turn are connected to the USB controller.
For low bandwidth devices such as mice, modems and some scanners, the relatively limited available bandwidth usually presents few problems, although devices requiring greater data throughput such as hard disc drives and web cams, for example, can, if used together, rapidly use up the available bandwidth, leading to “clogging” of the serial controller, which in turn results in greatly slowed data transfer.
In extreme cases, this can make it impossible to use one of the connected devices, leading to considerable user dissatisfaction and increased calls, for example, to technical help desks.
Although faster serial buses such as the USB 2.0 are available, increases in serial bus bandwidth are invariably followed by corresponding increases in the bandwidth required by modernised devices, and it has become apparent that mere expansion of the serial bus bandwidth is unlikely to address this problem on anything more than a temporary basis.
Attempts have however been made to alleviate these difficulties, with these having concentrated primarily on the provision of computers having more than one serial bus controller, thus making more bandwidth available to the various serial devices.
However, this in itself has not proved satisfactory.
As shown in FIG. 1 of the drawings, which illustrates the current industry standard way in which USB controllers are connected to serial ports on a computer chassis, the connectivity between the USB controllers and their associated serial ports is such that each “pair” of ports is linked to just one USB controller. Although, with low bandwidth devices, such a configuration can operate satisfactorily, problems arise where the sum of the bandwidth required by the two devices connected to the ports forming a pair, exceeds that which is available from the associated USB controller.
This can be a particular problem where, say, one pair of ports is located towards the front of a computer, with a second pair being located towards the rear. What often happens, in practice, is that a user of the computer, having connected, for example, a web cam to one port of the front pair, then connects a second device such as, for example, a pair of USB speakers, in the next adjacent slot. As will be appreciated, this “fills” both ports of the front pair, and thus places a heavy burden on the controller associated with it
At the same time, a rear-mounted pair is often left completely unused, perhaps because access to the rear ports is difficult.
Thus, the current industry standard implementation can often give rise to a situation where one of the two (or more) serial controllers is saturated, but where at least one of the remaining controllers is completely unused, and thus has its full bandwidth lying dormant.
It is an object of the present invention to provide a computer which overcomes or at least alleviates these problems.
It is also an object of the present invention to provide a method of connecting devices to data bus controllers and to provide a method of allocating the bandwidth of a plurality of data bus controllers to a plurality of controller ports which achieves this result.
It is also an object of the present invention to provide apparatus for allocating the bandwidth of a plurality of data bus controllers to a plurality of controller ports which offers advantages over known apparatus.